<rss version="2.0" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/">
    <channel>
        <title>Business Analyst Community &amp; Resources | Modern Analyst</title> 
        <link>https://modernanalyst.com</link> 
        <description>RSS feeds for Business Analyst Community &amp; Resources | Modern Analyst</description> 
        <ttl>60</ttl> <item>
    <comments>https://modernanalyst.com/Community/ModernAnalystBlog/tabid/181/ID/2170/BA-ABCs-C-is-for-Class-Diagram.aspx#Comments</comments> 
    <slash:comments>1</slash:comments> 
    <wfw:commentRss>https://modernanalyst.com/DesktopModules/DnnForge%20-%20NewsArticles/RssComments.aspx?TabID=181&amp;ModuleID=870&amp;ArticleID=2170</wfw:commentRss> 
    <trackback:ping>https://modernanalyst.com:443/DesktopModules/DnnForge%20-%20NewsArticles/Tracking/Trackback.aspx?ArticleID=2170&amp;PortalID=0&amp;TabID=181</trackback:ping> 
    <title>BA ABCs: “C” is for Class Diagram</title> 
    <link>https://modernanalyst.com/Community/ModernAnalystBlog/tabid/181/ID/2170/BA-ABCs-C-is-for-Class-Diagram.aspx</link> 
    <description>&lt;p&gt;&lt;span style=&quot;font-size: small&quot;&gt;&lt;img border=&quot;0&quot; hspace=&quot;15&quot; alt=&quot;BA ABCs: “C” is for Class Diagram&quot; vspace=&quot;5&quot; align=&quot;right&quot; width=&quot;200&quot; height=&quot;178&quot; src=&quot;/Portals/0/Public Uploads/21/15_jnw_howard_podeswa_2007_108x120in__oil_on_cnv.jpg&quot; /&gt;Continuing the ABC series for Business Analysts, Howard Podeswa created the next installment titled &quot;BA ABCs: “C” is for Class Diagram&quot; as an article rather than a blog post.&lt;/span&gt;&lt;/p&gt; &lt;p&gt;&lt;span style=&quot;font-size: small&quot;&gt;You can find the article here: &lt;/span&gt;&lt;/p&gt; &lt;p&gt;&lt;span style=&quot;font-size: small&quot;&gt;&lt;a target=&quot;_blank&quot; href=&quot;http://www.modernanalyst.com/Resources/Articles/tabid/115/articleType/ArticleView/articleId/2145/BA-ABCs-C-is-for-Class-Diagram.aspx&quot;&gt;&lt;span style=&quot;font-size: small&quot;&gt;BA ABCs: “C” is for Class Diagram&lt;/span&gt;&lt;/a&gt;&lt;/span&gt;&lt;/p&gt; &lt;p&gt;&lt;span style=&quot;font-size: small&quot;&gt;Here are the previous two posts:&lt;/span&gt;&lt;/p&gt; &lt;p&gt;&lt;span style=&quot;font-size: small&quot;&gt;&lt;a target=&quot;_blank&quot; href=&quot;http://www.modernanalyst.com/Community/ModernAnalystBlog/tabid/181/articleType/ArticleView/articleId/1377/BA-ABCs-A-is-for-Activity-Diagram.aspx&quot;&gt;&lt;span style=&quot;font-size: small&quot;&gt;BA ABCs: “A” is for Activity Diagram&lt;/span&gt;&lt;/a&gt;&lt;/span&gt;&lt;/p&gt; &lt;p&gt;&lt;a target=&quot;_blank&quot; href=&quot;http://www.modernanalyst.com/Community/ModernAnalystBlog/tabid/181/articleType/ArticleView/articleId/1539/BA-ABCs-B-is-for-BPMN.aspx&quot;&gt;&lt;span style=&quot;font-size: small&quot;&gt;BA ABCs: “B” is for BPMN&lt;/span&gt;&lt;/a&gt;&lt;span style=&quot;font-size: small&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;</description> 
    <dc:creator>Adrian M.</dc:creator> 
    <pubDate>Thu, 01 Mar 2012 06:36:00 GMT</pubDate> 
    <guid isPermaLink="false">f1397696-738c-4295-afcd-943feb885714:2170</guid> 
    
</item>
<item>
    <comments>https://modernanalyst.com/Community/ModernAnalystBlog/tabid/181/ID/1260/Why-I-Dont-Use-BPMN.aspx#Comments</comments> 
    <slash:comments>13</slash:comments> 
    <wfw:commentRss>https://modernanalyst.com/DesktopModules/DnnForge%20-%20NewsArticles/RssComments.aspx?TabID=181&amp;ModuleID=870&amp;ArticleID=1260</wfw:commentRss> 
    <trackback:ping>https://modernanalyst.com:443/DesktopModules/DnnForge%20-%20NewsArticles/Tracking/Trackback.aspx?ArticleID=1260&amp;PortalID=0&amp;TabID=181</trackback:ping> 
    <title>Why I Don&#39;t Use BPMN</title> 
    <link>https://modernanalyst.com/Community/ModernAnalystBlog/tabid/181/ID/1260/Why-I-Dont-Use-BPMN.aspx</link> 
    <description>&lt;p class=&quot;MsoNormal&quot; style=&quot;text-align: left&quot;&gt;&lt;span style=&quot;font-size: small&quot;&gt;First off, let me just say that I really like the BPMN standard, especially the &lt;/span&gt;&lt;a href=&quot;http://www.omg.org/cgi-bin/doc?dtc/09-08-14&quot; target=&quot;_blank&quot;&gt;&lt;span style=&quot;font-size: small&quot;&gt;2.0 Beta specification&lt;/span&gt;&lt;/a&gt;&lt;span style=&quot;font-size: small&quot;&gt;.&amp;nbsp; I find the notation to be a powerful and expressive language that takes into account not only the standard elements in business processes but also considers all sorts of interesting possibilities that may arise.&amp;nbsp; I think the new Choreography and Conversation diagrams and additional event types open up new ways to describe intricate processes and collaborations between various individuals and organizations.&amp;nbsp; Indeed, BPMN allows you to graphically model almost any situation that you can find in a business.&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot;&gt;&lt;span style=&quot;font-size: small&quot;&gt;And I rarely get to use it.&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot;&gt;&lt;span style=&quot;font-size: small&quot;&gt;According to the BPMN 2.0 Beta spec, there are two goals for BPMN.&amp;nbsp; One goal &amp;ldquo;is to ensure that XML languages designed for the execution of business processes, such as WSBPEL (Web Services Business Process Execution Language), can be visualized with a business-oriented notation.&amp;rdquo;&amp;nbsp; &lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot;&gt;&lt;span style=&quot;font-size: small&quot;&gt;The other goal &amp;ldquo;is to provide a notation that is readily understandable by all business users, from the business analysts that create the initial drafts of the processes, to the technical developers responsible for implementing the technology that will perform those processes, and finally, to the business people who will manage and monitor those processes.&amp;rdquo;&amp;nbsp; &lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot;&gt;&lt;span style=&quot;font-size: small&quot;&gt;While BPMN does extremely well with respect to the first goal, I believe it does not live up to its second goal.&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot;&gt;&lt;span style=&quot;font-size: small&quot;&gt;&lt;b&gt;Business People Don&amp;rsquo;t Get BPMN Right Away&lt;/b&gt;&lt;/span&gt;&lt;b&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/b&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot;&gt;&lt;span style=&quot;font-size: small&quot;&gt;Whenever I stick a non-trivial BPMN model in front of actual business customers, I always get at least some questions.&amp;nbsp; The number of questions varies depending on their sophistication and the number of times they&amp;rsquo;ve seen a BPMN (or similar) diagram before.&amp;nbsp; BPMN leverages the typical flow-chart diagramming that nearly all business people are familiar with, but they&amp;rsquo;ve made several changes that make the their models anywhere from slightly confusing to downright unreadable for the layperson.&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot;&gt;&lt;span style=&quot;font-size: small&quot;&gt;For instance, one of the most common questions I get is with respect to the fact that each pool has its own start and end processes as well as process flow lines.&amp;nbsp; If there is interaction across the pools then a message flow is used.&amp;nbsp; Most business people get overwhelmed with the additional flow lines and have trouble following the overall process path &amp;ndash; usually when a hand off occurs between individuals or organizations you want to follow whoever received the handoff.&amp;nbsp; With BPMN this is not always readily obvious since all pools continue along their own process flows.&amp;nbsp; I could get around this by using only lanes instead of pools since lanes are not considered to be running their own processes, but then I&amp;rsquo;m not using lanes correctl. &amp;nbsp;&lt;/span&gt;&lt;a href=&quot;http://www.bpmn.org/Documents/Introduction_to_BPMN.pdf&quot; target=&quot;_blank&quot;&gt;&lt;span style=&quot;font-size: small&quot;&gt;Each pool is defined as&lt;/span&gt;&lt;/a&gt;&lt;span style=&quot;font-size: small&quot;&gt; a &amp;ldquo;separate business entity or participant&amp;rdquo; while a lane is used to &amp;ldquo;separate the activities associated with a specific company function or role.&amp;rdquo;&lt;/span&gt;&lt;/p&gt;

&lt;p&gt;&lt;img alt=&quot;BPMN Process Example&quot; border=&quot;0&quot; height=&quot;505&quot; src=&quot;/Portals/0/Public Uploads/2010-02-08_BPMN_Process_Example.png&quot; v:shapes=&quot;Picture_x0020_2&quot; width=&quot;740&quot; /&gt;&lt;/p&gt;

&lt;p align=&quot;center&quot; class=&quot;MsoNormal&quot; style=&quot;text-align: center&quot;&gt;&lt;span style=&quot;font-size: small&quot;&gt;&lt;b&gt;BPMN Process Example&lt;/b&gt;&lt;/span&gt;&lt;b&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/b&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot;&gt;&lt;span style=&quot;font-size: small&quot;&gt;Other times people are thrown by the exceptions or compensation processes, since they are usually shown on the same page (although not necessarily).&amp;nbsp; While I personally like these artifacts I often spend more time explaining why they are there than reviewing the accuracy of the actual process itself.&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot;&gt;&lt;span style=&quot;font-size: small&quot;&gt;Over time I&amp;rsquo;ve been able to get some clients used to the notation, but if a new stakeholder is brought in I&amp;rsquo;m back at square one.&amp;nbsp; To me this shows how BPMN is not &amp;lsquo;readily understandable&amp;rsquo; by the vast majority of business people involved.&amp;nbsp; &lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot;&gt;&lt;span style=&quot;font-size: small&quot;&gt;&lt;b&gt;BPMN is a Great Precursor to BPEL&lt;/b&gt;&lt;/span&gt;&lt;b&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/b&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot;&gt;&lt;span style=&quot;font-size: small&quot;&gt;I definitely see how BPMN is an excellent tool to use if you&amp;rsquo;re preparing to leverage the &lt;/span&gt;&lt;a href=&quot;http://bpel.xml.org/about-bpel&quot; target=&quot;_blank&quot;&gt;&lt;span style=&quot;font-size: small&quot;&gt;Business Process Execution Language&lt;/span&gt;&lt;/a&gt;&lt;span style=&quot;font-size: small&quot;&gt; (BPEL) and have a BPEL Process Manager solution in place to automate business processes.&amp;nbsp; The BPMN spec indicates that traditional models create &amp;ldquo;a technical gap between the format of the initial design of Business Processes and the format of the languages, such as WSBPEL, that will execute these Business Processes.&amp;rdquo;&amp;nbsp; BPMN has really been designed to address this gap, but has focused on the technical implementation side by sacrificing out of the box understandability for any given model.&amp;nbsp; &lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot;&gt;&lt;span style=&quot;font-size: small&quot;&gt;From a solution standpoint this makes sense &amp;ndash; if the goal is to in the end have automated business processes then you need to ensure that your model can translate into a language that is computer-ready.&amp;nbsp; BPEL has been around for almost 8 years now and has gained a level of acceptance by software providers and businesses.&amp;nbsp; Combined with the demand for lower labour costs wherever possible and there is clearly a need for non-programmers or extremely technical personnel to be able to leverage a graphical description of processes.&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot;&gt;&lt;span style=&quot;font-size: small&quot;&gt;Like any other technically-driven language, BPMN is relatively generic, robust and flexible.&amp;nbsp; In order to achieve its level of flexibility the language must be inherently complex to handle all the possible situations that could fall within the scope of the language&amp;rsquo;s use.&amp;nbsp; While this is great from an implementation perspective it takes away from the ability for someone with little knowledge about the notation to be able to read a diagram.&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot;&gt;&lt;span style=&quot;font-size: small&quot;&gt;&lt;b&gt;When to Stick With the Tried and True Notation&lt;/b&gt;&lt;/span&gt;&lt;b&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/b&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot;&gt;&lt;span style=&quot;font-size: small&quot;&gt;In most situations (performing current state analysis, working through future state processes, validating requirements, etc.) that involve business people interacting with diagrams BPMN is a bit of overkill.&amp;nbsp; When I&amp;rsquo;m not trying to create an automatable BPEL-driven business process I find that business people can almost universally understand a &lt;a href=&quot;https://www.modernanalyst.com/Careers/InterviewQuestions/tabid/128/ID/6146/What-is-a-Flowchart-Diagram.aspx&quot;&gt;flowchart&lt;/a&gt;.&amp;nbsp; This is something that most individuals have had exposure to at some point, and even if they haven&amp;rsquo;t there are so few different diagramming objects that it&amp;rsquo;s easy enough to pick up quickly (at the very least you don&amp;rsquo;t need a &lt;/span&gt;&lt;a href=&quot;http://store.futstrat.com/servlet/Detail?no=49&quot; target=&quot;_blank&quot;&gt;&lt;span style=&quot;font-size: small&quot;&gt;226 page reference guide&lt;/span&gt;&lt;/a&gt;&lt;span style=&quot;font-size: small&quot;&gt; to figure out how to understand the chart)&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot;&gt;&lt;span style=&quot;font-size: small&quot;&gt;While a flowchart may not be able to elegantly model complex business processes as well as BPMN, you can still get the job done by breaking up complex situations into several smaller component diagrams and then using the link object to move between the components.&amp;nbsp; I find that this not only helps me ensure that each component chart is clear when I&amp;rsquo;m building the model, it also helps me work through specific sub-processes or exception cases with clients when I&amp;rsquo;m reviewing the details with them since it&amp;rsquo;s easier to focus on a single, relatively straightforward chart at a time.&lt;/span&gt;&lt;/p&gt;

&lt;p&gt;&lt;img alt=&quot;2010-02-08 Flowchart Process Example.png&quot; border=&quot;0&quot; height=&quot;313&quot; src=&quot;/Portals/0/Public Uploads/2010-02-08_Flowchart_Process_Example.png&quot; v:shapes=&quot;Picture_x0020_1&quot; width=&quot;589&quot; /&gt;&lt;/p&gt;

&lt;p&gt;&amp;nbsp;&lt;/p&gt;

&lt;p align=&quot;center&quot; class=&quot;MsoNormal&quot; style=&quot;text-align: center&quot;&gt;&lt;span style=&quot;font-size: small&quot;&gt;&lt;b&gt;Flowchart with Swimlanes Example&lt;/b&gt;&lt;/span&gt;&lt;b&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/b&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot;&gt;&lt;span style=&quot;font-size: small&quot;&gt;One part of BPMN that I&amp;rsquo;ve brought over to the flowchart world and use nearly every time is the swimlanes artifact.&amp;nbsp; Having swimlanes helps everyone clearly understand the responsibilities and activities that each participant in the overall process plays, where the hand-offs are and what kind of information is going back and forth.&amp;nbsp; I&amp;rsquo;ll often attach document or data elements when the flow goes across the lanes to show the details of the hand-off, which embeds a lot of the information you would typically find in a &lt;/span&gt;&lt;a href=&quot;http://it.toolbox.com/blogs/enterprise-solutions/data-flow-diagrams-dfds-14573&quot; target=&quot;_blank&quot;&gt;&lt;span style=&quot;font-size: small&quot;&gt;Data Flow Diagram&lt;/span&gt;&lt;/a&gt;&lt;span style=&quot;font-size: small&quot;&gt; (DFD) for the given business process.&amp;nbsp; In fact, if you wanted you could roll up these messages and create a DFD if you have a need for that type of structured analysis.&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot;&gt;&lt;span style=&quot;font-size: small&quot;&gt;While BPMN is a great way to prepare a business process for automation, it may not be the best choice when it comes to interacting with the business itself to document, verify and envision business processes.&amp;nbsp; &lt;/span&gt;&lt;/p&gt;

&lt;p&gt;&amp;nbsp;&lt;/p&gt;

&lt;p&gt;&lt;span style=&quot;font-size: small&quot;&gt;Jarett Hailes&lt;br /&gt;
Larimar Consulting Inc.&lt;/span&gt;&lt;br /&gt;
&lt;span&gt;&lt;a href=&quot;http://www.larimarconsulting.com/&quot; rel=&quot;nofollow&quot; target=&quot;_blank&quot;&gt;&lt;span style=&quot;font-size: small&quot;&gt;http://www.larimarconsulting.com&lt;/span&gt;&lt;/a&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p&gt;&lt;span style=&quot;font-size: small&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
</description> 
    <dc:creator>Jarett Hailes</dc:creator> 
    <pubDate>Wed, 10 Feb 2010 01:59:00 GMT</pubDate> 
    <guid isPermaLink="false">f1397696-738c-4295-afcd-943feb885714:1260</guid> 
    
</item>
<item>
    <comments>https://modernanalyst.com/Community/ModernAnalystBlog/tabid/181/ID/1190/Eliciting-Business-Rules-with-an-Eye-for-Data-Requirements.aspx#Comments</comments> 
    <slash:comments>0</slash:comments> 
    <wfw:commentRss>https://modernanalyst.com/DesktopModules/DnnForge%20-%20NewsArticles/RssComments.aspx?TabID=181&amp;ModuleID=870&amp;ArticleID=1190</wfw:commentRss> 
    <trackback:ping>https://modernanalyst.com:443/DesktopModules/DnnForge%20-%20NewsArticles/Tracking/Trackback.aspx?ArticleID=1190&amp;PortalID=0&amp;TabID=181</trackback:ping> 
    <title>Eliciting Business Rules with an Eye for Data Requirements</title> 
    <link>https://modernanalyst.com/Community/ModernAnalystBlog/tabid/181/ID/1190/Eliciting-Business-Rules-with-an-Eye-for-Data-Requirements.aspx</link> 
    <description><div style="margin: 0in 0in 10pt">
<p style="text-align: left"><em><strong><span style="font-size: small"><span style="font-size: small">“Business Rules and Data Requirements: Pulling in Tandem for Success” was the title of another session I attended at the <a target="_blank" rel="nofollow" href="http://www.iirusa.com/projectworldnovember"><span style="font-size: small">WCBA </span></a>conference.&#160;Mary Gorman, Senior Associate with EBG Consulting, focused on business rules and their relationship to data in the context of requirements elicitation. </span></span></strong></em></p>
<p style="text-align: center"><i><span style="font-size: small">Copyright Notice: Major portions of this blog post&#160;are from materials&#160;© EBG Consulting, Inc., 2009 Used with permission on ModernAnalyst.com</span></i></p>
<p><span style="font-size: small">Before even diving into the mean of the presentation, Mary stressed the importance of realizing that no one requirements view or model is enough, by itself, do understand the requirements of a given system.</span></p>
<div style="margin: 0in 0in 10pt"><span style="font-size: small">She covered again the four key requirements viewpoints:</span></div>
<ul>
    <li><span style="font-size: small"><b><span style="color: #444444">Behavior</span></b><span style="color: #444444">: e.g. process, action, function, task, script </span></span></li>
    <li><span style="font-size: small"><b><span style="color: #444444">Structure</span></b><span style="color: #444444">: e.g. information, data, object </span></span></li>
    <li><span style="font-size: small"><b><span style="color: #444444">Dynamics</span></b><span style="color: #444444">: e.g. time, lifecycles </span></span></li>
    <li><span style="font-size: small"><b><span style="color: #444444">Control</span></b><span style="color: #444444">: e.g. business rules – the intersection of Behavior, Structure, and Dynamics</span> </span></li>
</ul>
<div style="margin: 0in 0in 10pt; text-align: center"><span style="font-size: small"><img height="421" alt="Requirements Viewpoints" width="559" align="middle" border="0" src="/Portals/0/images/ebg-requirements-viewpoints.png" /></span></div>
<div style="margin: 0in 0in 10pt"><span style="font-size: small">All these four views are very important and rely on each other to provide a holistic perspective of the requirements.</span></div>
<div style="margin: 0in 0in 10pt"><span style="font-size: small">They key takeaways, for me,&#160;from the sessions were:</span></div>
<ul>
    <li><span style="font-size: small">Process/behavior requirements cannot stand by themselves but instead they trace to data and business rules (just process sis like sitting on a one legged stool) </span></li>
    <li><span style="font-size: small">There is great risk when performing single-dimension requirements elicitation focusing on only one of the requirement viewpoints:&#160;business rules alone, business data alone, business process alone, etc. </span></li>
</ul>
<div style="margin: 0in 0in 10pt"><span style="font-size: small">That’s why you don’t see too many dedicated “Business Rule Analysts” or “Business Process Analyst”.&#160;The analyst must be a generalist or, as Scott Ambler likes to say a “specializing generalist” emphasizing that while you might want to specialize and be proficient in one or two disciplines (like business rules analysis, process analysis, etc.) you must also have a good understanding of all the other&#160;business analysis dimensions.&#160;Focusing on one area alone is like trying to sit on a one legged stool… you’ll be on the floor before you know it.</span></div>
<div style="margin: 0in 0in 10pt"><span style="font-size: small"><b><u>Identify Business Rules</u></b></span></div>
<div style="margin: 0in 0in 10pt"><span style="font-size: small">When eliciting requirements, it is great if you are able to identify business rules as soon as you hear them even they might not be labeled as such by your stakeholders.&#160;To accomplish this, Mary suggests that the analysts watch for certain key words which serve as business rule giveaways.</span></div>
<div style="margin: 0in 0in 10pt"><span style="font-size: small">Here are some of the business rules clues:</span></div>
<ul>
    <li><span style="font-size: small">classify, </span></li>
    <li><span style="font-size: small">determine, </span></li>
    <li><span style="font-size: small">compare, </span></li>
    <li><span style="font-size: small">assess, </span></li>
    <li><span style="font-size: small">evaluate, </span></li>
    <li><span style="font-size: small">must, </span></li>
    <li><span style="font-size: small">defined as, </span></li>
    <li><span style="font-size: small">must not, </span></li>
    <li><span style="font-size: small">calculated as, </span></li>
    <li><span style="font-size: small">must only, </span></li>
    <li><span style="font-size: small">If … then … </span></li>
    <li><span style="font-size: small">etc. </span></li>
</ul>
<div style="margin: 0in 0in 10pt"><span style="font-size: small"><b><u>Business Rule Classification</u></b></span></div>
<div style="margin: 0in 0in 10pt"><span style="font-size: small"><b>Term Rule</b>: a business rules which defines a term of the business….&#160;In every business domain it is critical to document all the rules defining the vocabulary to be used on the project.</span></div>
<div style="margin: 0in 0in 10pt 40px"><span style="font-size: small"><u>Example 1</u>: A <i>Customer</i> is defined as an individual or organization who purchased a product in our store.</span></div>
<div style="margin: 0in 0in 10pt 40px"><span style="font-size: small"><u>Example 2</u>: A <i>Gift Card</i> is defined as a product sold by our store that in turn can be used as a payment for other purchases.</span></div>
<div style="margin: 0in 0in 10pt"><span style="font-size: small">As you can probably guess, your project glossary is a set of term business rules.&#160;</span></div>
<div style="margin: 0in 0in 10pt"><span style="font-size: small">By the way, for more details on business rules in the context of requirements elicitation process check out the </span><a href="http://www.modernanalyst.com/Resources/Books/tabid/88/articleType/ArticleView/articleId/776/The_Software_Requirements_Memory_Jogger_A_Pocket_Guide_to_Help_Software_And_Business_Teams_Develop_And_Manage_Requirements_Memory_Jogger.aspx"><span style="font-size: small">The Software Requirements Memory Jogger</span></a><span style="font-size: small">.&#160;</span></div>
<div style="margin: 0in 0in 10pt"><span style="font-size: small"><b>Fact Rule</b>: Is a business rule which is part of the “fact model” (think logical data model) which outlines our understanding of truth related to previously identified terms.&#160;&#160;</span></div>
<div style="margin: 0in 0in 10pt"><span style="font-size: small">Article 3.2 of the Business Rules Manifesto states: <i>“Terms express business concepts; facts make assertions about these concepts; rules constrain and support these facts.”</i></span></div>
<div style="margin: 0in 0in 10pt 40px"><span style="font-size: small"><u>Example 1</u>: A Purchase is paid for by Gift Card, a Gift Card pays for a Purchase (shows the relationship between Purchase and Gift Card).</span></div>
<div style="margin: 0in 0in 10pt 40px"><span style="font-size: small"><u>Example 2</u>: A purchase may be paid by one or more Gift Cards, A Gift Card may pay for one or more Purchase (shows the cardinality between Purchase and Gift Card).</span></div>
<div style="margin: 0in 0in 10pt"><span style="font-size: small">As you can see from the above two examples, fact rules are really facts which are generally documented and captured by logical data models of your system.</span></div>
<div style="margin: 0in 0in 10pt"><span style="font-size: small"><img height="110" alt="Business Entity Relationship Example" width="459" border="0" src="/Portals/0/images/ebg-business-entity-relationship-example.png" /></span></div>
<div style="margin: 0in 0in 10pt"><span style="font-size: small">This example also reinforces the concept that while doing analysis of the business rules you will discover <b><i>data requirements</i></b> (business entities and their attributes) such as: customer, customer e-mail address, gift card, gift card balance (entity vs. attribute).</span></div>
<div style="margin: 0in 0in 10pt"><span style="font-size: small">It is not possible to analyze business rules and not consider data requirements:</span></div>
<ul>
    <li><span style="font-size: small">Fact Rule: a customer has a name and address </span></li>
    <li><span style="font-size: small">Data Attribute: customer first name, customer last name, customer semail address (attributes are atomic – cannot be broken down any further) </span></li>
</ul>
<div style="margin: 0in 0in 10pt"><span style="font-size: small"><b>Constraint Rule:</b> &#160;is a business rule which places a constraint on data entities or data attributes.</span></div>
<div style="margin: 0in 0in 10pt 40px"><span style="font-size: small"><u>Example</u>: A Gift Card’s expiration date must be equal or greater than the Purchase’s purchase date.</span></div>
<div style="margin: 0in 0in 10pt"><span style="font-size: small">Again, from the rule above you’ll see that we just discovered a <i>data requirement</i> to track and store yet another piece of data =&gt; Gift Card Attribute:&#160;expiration date (we need to remember the date in order to be able to enforce the constraint rule).</span></div>
<div style="margin: 0in 0in 10pt"><span style="font-size: small"><b>Derivation Rule</b>: Is a business rule which explains how new data may be derived from other data.&#160;Think of these as calculations.</span></div>
<div style="margin: 0in 0in 10pt 40px"><span style="font-size: small"><u>Example</u>: Gift card expiration date is calculated as Gift Card activated date plus 365 days.&#160;</span></div>
<div style="margin: 0in 0in 10pt"><span style="font-size: small">And, of course, here is another new <i>data requirement</i> -we need to store yet another Gift Card Attribute: activation date.</span></div>
<div style="margin: 0in 0in 10pt"><span style="font-size: small">Did you see how rules drive data – you discover data as you discover and document the rules.</span></div>
<div style="margin: 0in 0in 10pt"><span style="font-size: small"><b>Data Attribute Rule</b>: Is a business rule which provides constraints on data attributes.</span></div>
<div style="margin: 0in 0in 10pt 40px"><span style="font-size: small"><u>Example 1</u>: Customer’s middle initial is an optional attribute when of purchasing a Gift Card.</span></div>
<div style="margin: 0in 0in 10pt 40px"><span style="font-size: small"><u>Example 2</u>: Gift Card Status has four allowable options: Purchased, Activated, Expired, and Depleted.</span></div>
<div style="margin: 0in 0in 10pt"><span style="font-size: small">Mary suggested using a table as one option for capturing and documenting <i>data attribute rules</i>, such as:</span></div>
<p>
<table cellspacing="0" cellpadding="0" border="1" style="border-right: medium none; border-top: medium none; border-left: medium none; border-bottom: medium none; border-collapse: collapse">
    <tbody>
        <tr>
            <td valign="top" width="96" style="border-right: black 1pt solid; padding-right: 5.4pt; border-top: black 1pt solid; padding-left: 5.4pt; padding-bottom: 0in; border-left: black 1pt solid; width: 71.7pt; padding-top: 0in; border-bottom: black 1pt solid; background-color: transparent">
            <div style="margin: 0in 0in 0pt; line-height: normal"><span style="font-size: small"><b>Attribute Name</b></span></div>
            </td>
            <td valign="top" width="98" style="border-right: black 1pt solid; padding-right: 5.4pt; border-top: black 1pt solid; padding-left: 5.4pt; padding-bottom: 0in; border-left: #f0f0f0; width: 73.15pt; padding-top: 0in; border-bottom: black 1pt solid; background-color: transparent">
            <div style="margin: 0in 0in 0pt; line-height: normal"><span style="font-size: small"><b>Definition</b></span></div>
            </td>
            <td valign="top" width="95" style="border-right: black 1pt solid; padding-right: 5.4pt; border-top: black 1pt solid; padding-left: 5.4pt; padding-bottom: 0in; border-left: #f0f0f0; width: 71.2pt; padding-top: 0in; border-bottom: black 1pt solid; background-color: transparent">
            <div style="margin: 0in 0in 0pt; line-height: normal"><span style="font-size: small"><b>Required</b></span></div>
            </td>
            <td valign="top" width="92" style="border-right: black 1pt solid; padding-right: 5.4pt; border-top: black 1pt solid; padding-left: 5.4pt; padding-bottom: 0in; border-left: #f0f0f0; width: 68.65pt; padding-top: 0in; border-bottom: black 1pt solid; background-color: transparent">
            <div style="margin: 0in 0in 0pt; line-height: normal"><span style="font-size: small"><b>Allowed Values</b></span></div>
            </td>
            <td valign="top" width="76" style="border-right: black 1pt solid; padding-right: 5.4pt; border-top: black 1pt solid; padding-left: 5.4pt; padding-bottom: 0in; border-left: #f0f0f0; width: 56.7pt; padding-top: 0in; border-bottom: black 1pt solid; background-color: transparent">
            <div style="margin: 0in 0in 0pt; line-height: normal"><span style="font-size: small"><b>Data Type</b></span></div>
            </td>
            <td valign="top" width="98" style="border-right: black 1pt solid; padding-right: 5.4pt; border-top: black 1pt solid; padding-left: 5.4pt; padding-bottom: 0in; border-left: #f0f0f0; width: 73.7pt; padding-top: 0in; border-bottom: black 1pt solid; background-color: transparent">
            <div style="margin: 0in 0in 0pt; line-height: normal"><span style="font-size: small"><b>Maximum Value</b></span></div>
            </td>
            <td valign="top" width="85" style="border-right: black 1pt solid; padding-right: 5.4pt; border-top: black 1pt solid; padding-left: 5.4pt; padding-bottom: 0in; border-left: #f0f0f0; width: 63.7pt; padding-top: 0in; border-bottom: black 1pt solid; background-color: transparent">
            <div style="margin: 0in 0in 0pt; line-height: normal"><span style="font-size: small"><b>… &lt;insert your own columns&gt;</b></span></div>
            </td>
        </tr>
        <tr>
            <td valign="top" width="96" style="border-right: black 1pt solid; padding-right: 5.4pt; border-top: #f0f0f0; padding-left: 5.4pt; padding-bottom: 0in; border-left: black 1pt solid; width: 71.7pt; padding-top: 0in; border-bottom: black 1pt solid; background-color: transparent">
            <div style="margin: 0in 0in 0pt; line-height: normal"><span style="font-size: small">Customer first name</span></div>
            </td>
            <td valign="top" width="98" style="border-right: black 1pt solid; padding-right: 5.4pt; border-top: #f0f0f0; padding-left: 5.4pt; padding-bottom: 0in; border-left: #f0f0f0; width: 73.15pt; padding-top: 0in; border-bottom: black 1pt solid; background-color: transparent">
            <div style="margin: 0in 0in 0pt; line-height: normal"><span style="font-size: small">…</span></div>
            </td>
            <td valign="top" width="95" style="border-right: black 1pt solid; padding-right: 5.4pt; border-top: #f0f0f0; padding-left: 5.4pt; padding-bottom: 0in; border-left: #f0f0f0; width: 71.2pt; padding-top: 0in; border-bottom: black 1pt solid; background-color: transparent">
            <div style="margin: 0in 0in 0pt; line-height: normal"><span style="font-size: small">Yes – when creating a new customer</span></div>
            </td>
            <td valign="top" width="92" style="border-right: black 1pt solid; padding-right: 5.4pt; border-top: #f0f0f0; padding-left: 5.4pt; padding-bottom: 0in; border-left: #f0f0f0; width: 68.65pt; padding-top: 0in; border-bottom: black 1pt solid; background-color: transparent">
            <div style="margin: 0in 0in 0pt; line-height: normal"><span style="font-size: small">n/a</span></div>
            </td>
            <td valign="top" width="76" style="border-right: black 1pt solid; padding-right: 5.4pt; border-top: #f0f0f0; padding-left: 5.4pt; padding-bottom: 0in; border-left: #f0f0f0; width: 56.7pt; padding-top: 0in; border-bottom: black 1pt solid; background-color: transparent">
            <div style="margin: 0in 0in 0pt; line-height: normal"><span style="font-size: small">Alpha</span></div>
            </td>
            <td valign="top" width="98" style="border-right: black 1pt solid; padding-right: 5.4pt; border-top: #f0f0f0; padding-left: 5.4pt; padding-bottom: 0in; border-left: #f0f0f0; width: 73.7pt; padding-top: 0in; border-bottom: black 1pt solid; background-color: transparent">
            <div style="margin: 0in 0in 0pt; line-height: normal"><span style="font-size: small">n/a</span></div>
            </td>
            <td valign="top" width="85" style="border-right: black 1pt solid; padding-right: 5.4pt; border-top: #f0f0f0; padding-left: 5.4pt; padding-bottom: 0in; border-left: #f0f0f0; width: 63.7pt; padding-top: 0in; border-bottom: black 1pt solid; background-color: transparent">
            <div style="margin: 0in 0in 0pt; line-height: normal"><span style="font-size: small">…</span></div>
            </td>
        </tr>
        <tr>
            <td valign="top" width="96" style="border-right: black 1pt solid; padding-right: 5.4pt; border-top: #f0f0f0; padding-left: 5.4pt; padding-bottom: 0in; border-left: black 1pt solid; width: 71.7pt; padding-top: 0in; border-bottom: black 1pt solid; background-color: transparent">
            <div style="margin: 0in 0in 0pt; line-height: normal"><span style="font-size: small">Customer last name</span></div>
            </td>
            <td valign="top" width="98" style="border-right: black 1pt solid; padding-right: 5.4pt; border-top: #f0f0f0; padding-left: 5.4pt; padding-bottom: 0in; border-left: #f0f0f0; width: 73.15pt; padding-top: 0in; border-bottom: black 1pt solid; background-color: transparent">
            <div style="margin: 0in 0in 0pt; line-height: normal"><span style="font-size: small">…</span></div>
            </td>
            <td valign="top" width="95" style="border-right: black 1pt solid; padding-right: 5.4pt; border-top: #f0f0f0; padding-left: 5.4pt; padding-bottom: 0in; border-left: #f0f0f0; width: 71.2pt; padding-top: 0in; border-bottom: black 1pt solid; background-color: transparent">
            <div style="margin: 0in 0in 0pt; line-height: normal"><span style="font-size: small">Yes – when creating a new customer</span></div>
            </td>
            <td valign="top" width="92" style="border-right: black 1pt solid; padding-right: 5.4pt; border-top: #f0f0f0; padding-left: 5.4pt; padding-bottom: 0in; border-left: #f0f0f0; width: 68.65pt; padding-top: 0in; border-bottom: black 1pt solid; background-color: transparent">
            <div style="margin: 0in 0in 0pt; line-height: normal"><span style="font-size: small">n/a</span></div>
            </td>
            <td valign="top" width="76" style="border-right: black 1pt solid; padding-right: 5.4pt; border-top: #f0f0f0; padding-left: 5.4pt; padding-bottom: 0in; border-left: #f0f0f0; width: 56.7pt; padding-top: 0in; border-bottom: black 1pt solid; background-color: transparent">
            <div style="margin: 0in 0in 0pt; line-height: normal"><span style="font-size: small">Alpha</span></div>
            </td>
            <td valign="top" width="98" style="border-right: black 1pt solid; padding-right: 5.4pt; border-top: #f0f0f0; padding-left: 5.4pt; padding-bottom: 0in; border-left: #f0f0f0; width: 73.7pt; padding-top: 0in; border-bottom: black 1pt solid; background-color: transparent">
            <div style="margin: 0in 0in 0pt; line-height: normal"><span style="font-size: small">n/a</span></div>
            </td>
            <td valign="top" width="85" style="border-right: black 1pt solid; padding-right: 5.4pt; border-top: #f0f0f0; padding-left: 5.4pt; padding-bottom: 0in; border-left: #f0f0f0; width: 63.7pt; padding-top: 0in; border-bottom: black 1pt solid; background-color: transparent">
            <div style="margin: 0in 0in 0pt; line-height: normal"><span style="font-size: small">…</span></div>
            </td>
        </tr>
        <tr>
            <td valign="top" width="96" style="border-right: black 1pt solid; padding-right: 5.4pt; border-top: #f0f0f0; padding-left: 5.4pt; padding-bottom: 0in; border-left: black 1pt solid; width: 71.7pt; padding-top: 0in; border-bottom: black 1pt solid; background-color: transparent">
            <div style="margin: 0in 0in 0pt; line-height: normal"><span style="font-size: small">Customer middle initial</span></div>
            </td>
            <td valign="top" width="98" style="border-right: black 1pt solid; padding-right: 5.4pt; border-top: #f0f0f0; padding-left: 5.4pt; padding-bottom: 0in; border-left: #f0f0f0; width: 73.15pt; padding-top: 0in; border-bottom: black 1pt solid; background-color: transparent">
            <div style="margin: 0in 0in 0pt; line-height: normal"><span style="font-size: small">…</span></div>
            </td>
            <td valign="top" width="95" style="border-right: black 1pt solid; padding-right: 5.4pt; border-top: #f0f0f0; padding-left: 5.4pt; padding-bottom: 0in; border-left: #f0f0f0; width: 71.2pt; padding-top: 0in; border-bottom: black 1pt solid; background-color: transparent">
            <div style="margin: 0in 0in 0pt; line-height: normal"><span style="font-size: small">No</span></div>
            </td>
            <td valign="top" width="92" style="border-right: black 1pt solid; padding-right: 5.4pt; border-top: #f0f0f0; padding-left: 5.4pt; padding-bottom: 0in; border-left: #f0f0f0; width: 68.65pt; padding-top: 0in; border-bottom: black 1pt solid; background-color: transparent">
            <div style="margin: 0in 0in 0pt; line-height: normal"><span style="font-size: small">n/a</span></div>
            </td>
            <td valign="top" width="76" style="border-right: black 1pt solid; padding-right: 5.4pt; border-top: #f0f0f0; padding-left: 5.4pt; padding-bottom: 0in; border-left: #f0f0f0; width: 56.7pt; padding-top: 0in; border-bottom: black 1pt solid; background-color: transparent">
            <div style="margin: 0in 0in 0pt; line-height: normal"><span style="font-size: small">Alpha</span></div>
            </td>
            <td valign="top" width="98" style="border-right: black 1pt solid; padding-right: 5.4pt; border-top: #f0f0f0; padding-left: 5.4pt; padding-bottom: 0in; border-left: #f0f0f0; width: 73.7pt; padding-top: 0in; border-bottom: black 1pt solid; background-color: transparent">
            <div style="margin: 0in 0in 0pt; line-height: normal"><span style="font-size: small">n/a</span></div>
            </td>
            <td valign="top" width="85" style="border-right: black 1pt solid; padding-right: 5.4pt; border-top: #f0f0f0; padding-left: 5.4pt; padding-bottom: 0in; border-left: #f0f0f0; width: 63.7pt; padding-top: 0in; border-bottom: black 1pt solid; background-color: transparent">
            <div style="margin: 0in 0in 0pt; line-height: normal"><span style="font-size: small">…</span></div>
            </td>
        </tr>
        <tr>
            <td valign="top" width="96" style="border-right: black 1pt solid; padding-right: 5.4pt; border-top: #f0f0f0; padding-left: 5.4pt; padding-bottom: 0in; border-left: black 1pt solid; width: 71.7pt; padding-top: 0in; border-bottom: black 1pt solid; background-color: transparent">
            <div style="margin: 0in 0in 0pt; line-height: normal"><span style="font-size: small">Gift card purchase amount</span></div>
            </td>
            <td valign="top" width="98" style="border-right: black 1pt solid; padding-right: 5.4pt; border-top: #f0f0f0; padding-left: 5.4pt; padding-bottom: 0in; border-left: #f0f0f0; width: 73.15pt; padding-top: 0in; border-bottom: black 1pt solid; background-color: transparent">
            <div style="margin: 0in 0in 0pt; line-height: normal"><span style="font-size: small">…</span></div>
            </td>
            <td valign="top" width="95" style="border-right: black 1pt solid; padding-right: 5.4pt; border-top: #f0f0f0; padding-left: 5.4pt; padding-bottom: 0in; border-left: #f0f0f0; width: 71.2pt; padding-top: 0in; border-bottom: black 1pt solid; background-color: transparent">
            <div style="margin: 0in 0in 0pt; line-height: normal"><span style="font-size: small">No</span></div>
            </td>
            <td valign="top" width="92" style="border-right: black 1pt solid; padding-right: 5.4pt; border-top: #f0f0f0; padding-left: 5.4pt; padding-bottom: 0in; border-left: #f0f0f0; width: 68.65pt; padding-top: 0in; border-bottom: black 1pt solid; background-color: transparent">
            <div style="margin: 0in 0in 0pt; line-height: normal"><span style="font-size: small">n/a</span></div>
            </td>
            <td valign="top" width="76" style="border-right: black 1pt solid; padding-right: 5.4pt; border-top: #f0f0f0; padding-left: 5.4pt; padding-bottom: 0in; border-left: #f0f0f0; width: 56.7pt; padding-top: 0in; border-bottom: black 1pt solid; background-color: transparent">
            <div style="margin: 0in 0in 0pt; line-height: normal"><span style="font-size: small">Currency</span></div>
            </td>
            <td valign="top" width="98" style="border-right: black 1pt solid; padding-right: 5.4pt; border-top: #f0f0f0; padding-left: 5.4pt; padding-bottom: 0in; border-left: #f0f0f0; width: 73.7pt; padding-top: 0in; border-bottom: black 1pt solid; background-color: transparent">
            <div style="margin: 0in 0in 0pt; line-height: normal"><span style="font-size: small">n/a</span></div>
            </td>
            <td valign="top" width="85" style="border-right: black 1pt solid; padding-right: 5.4pt; border-top: #f0f0f0; padding-left: 5.4pt; padding-bottom: 0in; border-left: #f0f0f0; width: 63.7pt; padding-top: 0in; border-bottom: black 1pt solid; background-color: transparent">
            <div style="margin: 0in 0in 0pt; line-height: normal"><span style="font-size: small">…</span></div>
            </td>
        </tr>
        <tr>
            <td valign="top" width="96" style="border-right: black 1pt solid; padding-right: 5.4pt; border-top: #f0f0f0; padding-left: 5.4pt; padding-bottom: 0in; border-left: black 1pt solid; width: 71.7pt; padding-top: 0in; border-bottom: black 1pt solid; background-color: transparent">
            <div style="margin: 0in 0in 0pt; line-height: normal"><span style="font-size: small">Gift card status</span></div>
            </td>
            <td valign="top" width="98" style="border-right: black 1pt solid; padding-right: 5.4pt; border-top: #f0f0f0; padding-left: 5.4pt; padding-bottom: 0in; border-left: #f0f0f0; width: 73.15pt; padding-top: 0in; border-bottom: black 1pt solid; background-color: transparent">
            <div style="margin: 0in 0in 0pt; line-height: normal"><span style="font-size: small">…</span></div>
            </td>
            <td valign="top" width="95" style="border-right: black 1pt solid; padding-right: 5.4pt; border-top: #f0f0f0; padding-left: 5.4pt; padding-bottom: 0in; border-left: #f0f0f0; width: 71.2pt; padding-top: 0in; border-bottom: black 1pt solid; background-color: transparent">
            <div style="margin: 0in 0in 0pt; line-height: normal"><span style="font-size: small">Yes</span></div>
            </td>
            <td valign="top" width="92" style="border-right: black 1pt solid; padding-right: 5.4pt; border-top: #f0f0f0; padding-left: 5.4pt; padding-bottom: 0in; border-left: #f0f0f0; width: 68.65pt; padding-top: 0in; border-bottom: black 1pt solid; background-color: transparent">
            <div style="margin: 0in 0in 0pt; line-height: normal"><span style="font-size: small">Purchased,</span></div>
            <div style="margin: 0in 0in 0pt; line-height: normal"><span style="font-size: small">Activated,</span></div>
            <div style="margin: 0in 0in 0pt; line-height: normal"><span style="font-size: small">Expired,</span></div>
            <div style="margin: 0in 0in 0pt; line-height: normal"><span style="font-size: small">Depleted</span></div>
            </td>
            <td valign="top" width="76" style="border-right: black 1pt solid; padding-right: 5.4pt; border-top: #f0f0f0; padding-left: 5.4pt; padding-bottom: 0in; border-left: #f0f0f0; width: 56.7pt; padding-top: 0in; border-bottom: black 1pt solid; background-color: transparent">
            <div style="margin: 0in 0in 0pt; line-height: normal"><span style="font-size: small">n/a</span></div>
            </td>
            <td valign="top" width="98" style="border-right: black 1pt solid; padding-right: 5.4pt; border-top: #f0f0f0; padding-left: 5.4pt; padding-bottom: 0in; border-left: #f0f0f0; width: 73.7pt; padding-top: 0in; border-bottom: black 1pt solid; background-color: transparent">
            <div style="margin: 0in 0in 0pt; line-height: normal"><span style="font-size: small">n/a</span></div>
            </td>
            <td valign="top" width="85" style="border-right: black 1pt solid; padding-right: 5.4pt; border-top: #f0f0f0; padding-left: 5.4pt; padding-bottom: 0in; border-left: #f0f0f0; width: 63.7pt; padding-top: 0in; border-bottom: black 1pt solid; background-color: transparent">
            <div style="margin: 0in 0in 0pt; line-height: normal"><span style="font-size: small">…</span></div>
            </td>
        </tr>
        <tr>
            <td valign="top" width="96" style="border-right: black 1pt solid; padding-right: 5.4pt; border-top: #f0f0f0; padding-left: 5.4pt; padding-bottom: 0in; border-left: black 1pt solid; width: 71.7pt; padding-top: 0in; border-bottom: black 1pt solid; background-color: transparent">
            <div style="margin: 0in 0in 0pt; line-height: normal"><span style="font-size: small">Gift card original balance</span></div>
            </td>
            <td valign="top" width="98" style="border-right: black 1pt solid; padding-right: 5.4pt; border-top: #f0f0f0; padding-left: 5.4pt; padding-bottom: 0in; border-left: #f0f0f0; width: 73.15pt; padding-top: 0in; border-bottom: black 1pt solid; background-color: transparent">
            <div style="margin: 0in 0in 0pt; line-height: normal"><span style="font-size: small">…</span></div>
            </td>
            <td valign="top" width="95" style="border-right: black 1pt solid; padding-right: 5.4pt; border-top: #f0f0f0; padding-left: 5.4pt; padding-bottom: 0in; border-left: #f0f0f0; width: 71.2pt; padding-top: 0in; border-bottom: black 1pt solid; background-color: transparent">
            <div style="margin: 0in 0in 0pt; line-height: normal"><span style="font-size: small">Yes</span></div>
            </td>
            <td valign="top" width="92" style="border-right: black 1pt solid; padding-right: 5.4pt; border-top: #f0f0f0; padding-left: 5.4pt; padding-bottom: 0in; border-left: #f0f0f0; width: 68.65pt; padding-top: 0in; border-bottom: black 1pt solid; background-color: transparent">
            <div style="margin: 0in 0in 0pt; line-height: normal"><span style="font-size: small">n/a</span></div>
            </td>
            <td valign="top" width="76" style="border-right: black 1pt solid; padding-right: 5.4pt; border-top: #f0f0f0; padding-left: 5.4pt; padding-bottom: 0in; border-left: #f0f0f0; width: 56.7pt; padding-top: 0in; border-bottom: black 1pt solid; background-color: transparent">
            <div style="margin: 0in 0in 0pt; line-height: normal"><span style="font-size: small">Currency</span></div>
            </td>
            <td valign="top" width="98" style="border-right: black 1pt solid; padding-right: 5.4pt; border-top: #f0f0f0; padding-left: 5.4pt; padding-bottom: 0in; border-left: #f0f0f0; width: 73.7pt; padding-top: 0in; border-bottom: black 1pt solid; background-color: transparent">
            <div style="margin: 0in 0in 0pt; line-height: normal"><span style="font-size: small">$1,000.00</span></div>
            </td>
            <td valign="top" width="85" style="border-right: black 1pt solid; padding-right: 5.4pt; border-top: #f0f0f0; padding-left: 5.4pt; padding-bottom: 0in; border-left: #f0f0f0; width: 63.7pt; padding-top: 0in; border-bottom: black 1pt solid; background-color: transparent">
            <div style="margin: 0in 0in 0pt; line-height: normal"><span style="font-size: small">…</span></div>
            </td>
        </tr>
    </tbody>
</table>
</p>
<div style="margin: 0in 0in 10pt"><span style="font-size: small">Of course, you can add additional columns to capture more detailed requirements about your data attributes such as: format/mask, minimum value, range of values, etc.</span></div>
<div style="margin: 0in 0in 10pt"><span style="font-size: small"><u><b>Separation of Concerns</b></u></span></div>
<div style="margin: 0in 0in 10pt"><span style="font-size: small">Do your data definitions belong in your use case (or other behavioral artifact)?</span></div>
<div style="margin: 0in 0in 10pt"><span style="font-size: small">Do your business rules belong in your use case (or other behavioral artifact)?</span></div>
<div style="margin: 0in 0in 10pt"><span style="font-size: small">NO!&#160;They need to be in a separate/shared repository so that they can be reused.</span></div>
<div style="margin: 0in 0in 10pt"><span style="font-size: small">One of the key concepts which were stressed in this session was the <i>separation of concerns</i>.&#160;While you may be doing it all during the requirements process: rules, data, process/behavior you also need to ensure that you have a way to manage the project’s processes, data, business rules, etc. as separate (yet interconnected) models rather than dumping your requirements into one catch-all document or format.</span></div>
<div style="margin: 0in 0in 10pt"><span style="font-size: small"><span>In her session, Mary Gorman covered many other topics related to business rules but this post would have been even longer.&#160; Sorry&#160;- but I&#160;guess you'll have to hear her in person.</span></span></div>
<div style="margin: 0in 0in 10pt"><span style="font-size: small"><span>If you’re interested in my notes from Mary’s other WCBA session, visit: </span></span><span style="font-size: small"><a href="http://www.modernanalyst.com/Community/ModernAnalystBlog/tabid/181/articleType/ArticleView/articleId/1178/Dispatches-from-the-WCBA-Conference-Jogging-through-the-IIBA-BABOK.aspx"><span style="font-size: small">Jogging through the IIBA® BABOK® with the Requirements Roadmap</span></a></span></div>
<div style="margin: 0in 0in 0pt"><span style="font-size: small"><u><b>Useful Business Rules References</b></u><b>&#160;</b></span></div>
<div style="margin: 0in 0in 0pt"><span style="font-size: small">&#160;</span></div>
<div style="margin: 0in 0in 0pt"><span style="font-size: small"><strong>Book</strong>:&#160;</span><a href="http://www.modernanalyst.com/Resources/Books/tabid/88/articleType/ArticleView/articleId/1093/Business_Rule_Concepts.aspx"><span style="font-size: small">Business Rules Concepts</span></a><span style="font-size: small"> by Ronald Ross</span></div>
<div style="margin: 0in 0in 0pt"><span style="font-size: small"><strong>Article</strong>: </span><a target="_blank" rel="nofollow" href="http://ebgconsulting.com/Pubs/Articles/BusinessRulesAndDataRequirements-Gorman.pdf"><span style="font-size: small">Business Rules and Data Requirements </span></a><span style="font-size: small">by Mary Gorman</span></div>
<div style="margin: 0in 0in 0pt"><span style="font-size: small"><strong>Article</strong>: </span><a target="_blank" rel="nofollow" href="http://adtmag.com/Articles/2001/06/05/Turning-rules-into-requirements.aspx?Page=1"><span style="font-size: small">Turning Rules into Requirements</span></a><span style="font-size: small"> by Ellen Gottesdiener</span></div>
<div style="margin: 0in 0in 0pt"><span style="font-size: small"><strong>Interview</strong>: </span><a href="http://www.modernanalyst.com/Resources/Articles/tabid/115/articleType/ArticleView/articleId/1154/categoryId/90/What-Analysts-Need-to-Know-about-Decisioning-and-Business-Rules-Interview-with-Ronald-G-Ross.aspx"><span style="font-size: small">What Analysts Need to Know about Decisioning and Business Rules</span></a><span style="font-size: small">&#160;- Interview with Ronald G. Ross</span></div>
<div style="margin: 0in 0in 0pt"><span style="font-size: small">&#160;</span></div>
<div style="margin: 0in 0in 0pt"><span style="font-size: small"><b>Business Rules Manifesto</b>:&#160;The Principles of Rule Independence from the Business Rules Group</span></div>
</div>
<blockquote style="padding-left: 1em; margin: 1em 3em; border-left: #999 2px solid; color: #999">
<p style="text-align: center"><span style="font-size: small"><strong>The Business Rules Manifesto*</strong></span></p>
<p><span style="font-size: small"><strong>Article 1. Primary Requirements, Not Secondary</strong></span></p>
<p style="margin-left: 40px"><span style="font-size: small">1.1. Rules are a first-class citizen of the requirements world.</span></p>
<p style="margin-left: 40px"><span style="font-size: small">1.2. Rules are essential for, and a discrete part of, business models and technology models.</span></p>
<p><span style="font-size: small"><strong>Article 2. Separate From Processes, Not Contained In Them </strong></span></p>
<p style="margin-left: 40px"><span style="font-size: small">2.1. Rules are explicit constraints on behavior and/or provide support to behavior.</span></p>
<p style="margin-left: 40px"><span style="font-size: small">2.2. Rules are not process and not procedure. They should not be contained in either of these.</span></p>
<p style="margin-left: 40px"><span style="font-size: small">2.3. Rules apply across processes and procedures. There should be one cohesive body of rules, enforced consistently across all relevant areas of business activity.</span></p>
<p><span style="font-size: small"><strong>Article 3. Deliberate Knowledge, Not A By-Product</strong></span></p>
<p style="margin-left: 40px"><span style="font-size: small">3.1. Rules build on facts, and facts build on concepts as expressed by terms.</span></p>
<p style="margin-left: 40px"><span style="font-size: small">3.2. Terms express business concepts; facts make assertions about these concepts; rules constrain and support these facts.</span></p>
<p style="margin-left: 40px"><span style="font-size: small">3.3. Rules must be explicit. No rule is ever assumed about any concept or fact.</span></p>
<p style="margin-left: 40px"><span style="font-size: small">3.4. Rules are basic to what the business knows about itself -- that is, to basic business knowledge.</span></p>
<p style="margin-left: 40px"><span style="font-size: small">3.5. Rules need to be nurtured, protected, and managed.</span></p>
<p><span style="font-size: small"><strong>Article 4. Declarative, Not Procedural </strong></span></p>
<p style="margin-left: 40px"><span style="font-size: small">4.1. Rules should be expressed declaratively in natural-language sentences for the business audience.</span></p>
<p style="margin-left: 40px"><span style="font-size: small">4.2. If something cannot be expressed, then it is not a rule.</span></p>
<p style="margin-left: 40px"><span style="font-size: small">4.3. A set of statements is declarative only if the set has no implicit sequencing.</span></p>
<p style="margin-left: 40px"><span style="font-size: small">4.4. Any statements of rules that require constructs other than terms and facts imply assumptions about a system implementation.</span></p>
<p style="margin-left: 40px"><span style="font-size: small">4.5. A rule is distinct from any enforcement defined for it. A rule and its enforcement are separate concerns.</span></p>
<p style="margin-left: 40px"><span style="font-size: small">4.6. Rules should be defined independently of responsibility for the who, where, when, or how of their enforcement.</span></p>
<p style="margin-left: 40px"><span style="font-size: small">4.7. Exceptions to rules are expressed by other rules.</span></p>
<p><span style="font-size: small"><strong>Article 5. Well-Formed Expression, Not Ad Hoc </strong></span></p>
<p style="margin-left: 40px"><span style="font-size: small">5.1. Business rules should be expressed in such a way that they can be validated for correctness by business people.</span></p>
<p style="margin-left: 40px"><span style="font-size: small">5.2. Business rules should be expressed in such a way that they can be verified against each other for consistency.</span></p>
<p style="margin-left: 40px"><span style="font-size: small">5.3. Formal logics, such as predicate logic, are fundamental to well-formed expression of rules in business terms, as well as to the technologies that implement business rules.</span></p>
<p><span style="font-size: small"><strong>Article 6. Rule-Based Architecture, Not Indirect Implementation </strong></span></p>
<p style="margin-left: 40px"><span style="font-size: small">6.1. A business rules application is intentionally built to accommodate continuous change in business rules. The platform on which the application runs should support such continuous change.</span></p>
<p style="margin-left: 40px"><span style="font-size: small">6.2. Executing rules directly -- for example in a rules engine -- is a better implementation strategy than transcribing the rules into some procedural form.</span></p>
<p style="margin-left: 40px"><span style="font-size: small">6.3. A business rule system must always be able to explain the reasoning by which it arrives at conclusions or takes action.</span></p>
<p style="margin-left: 40px"><span style="font-size: small">6.4. Rules are based on truth values. How a rule’s truth value is determined or maintained is hidden from users.</span></p>
<p style="margin-left: 40px"><span style="font-size: small">6.5. The relationship between events and rules is generally many-to-many.</span></p>
<p><span style="font-size: small"><strong>Article 7. Rule-Guided Processes, Not Exception-Based Programming </strong></span></p>
<p style="margin-left: 40px"><span style="font-size: small">7.1. Rules define the boundary between acceptable and unacceptable business activity.</span></p>
<p style="margin-left: 40px"><span style="font-size: small">7.2. Rules often require special or selective handling of detected violations. Such rule violation activity is activity like any other activity.</span></p>
<p style="margin-left: 40px"><span style="font-size: small">7.3. To ensure maximum consistency and reusability, the handling of unacceptable business activity should be separable from the handling of acceptable business activity.</span></p>
<p><span style="font-size: small"><strong>Article 8. For the Sake of the Business, Not Technology </strong></span></p>
<p style="margin-left: 40px"><span style="font-size: small">8.1. Rules are about business practice and guidance; therefore, rules are motivated by business goals and objectives and are shaped by various influences.</span></p>
<p style="margin-left: 40px"><span style="font-size: small">8.2. Rules always cost the business something.</span></p>
<p style="margin-left: 40px"><span style="font-size: small">8.3. The cost of rule enforcement must be balanced against business risks, and against business opportunities that might otherwise be lost.</span></p>
<p style="margin-left: 40px"><span style="font-size: small">8.4. ‘More rules’ is not better. Usually fewer ‘good rules’ is better.</span></p>
<p style="margin-left: 40px"><span style="font-size: small">8.5. An effective system can be based on a small number of rules. Additional, more discriminating rules can be subsequently added, so that over time the system becomes smarter.</span></p>
<p><span style="font-size: small"><strong>Article 9. Of, By, and For Business People, Not IT People </strong></span></p>
<p style="margin-left: 40px"><span style="font-size: small">9.1. Rules should arise from knowledgeable business people.</span></p>
<p style="margin-left: 40px"><span style="font-size: small">9.2. Business people should have tools available to help them formulate, validate, and manage rules.</span></p>
<p style="margin-left: 40px"><span style="font-size: small">9.3. Business people should have tools available to help them verify business rules against each other for consistency.</span></p>
<p><span style="font-size: small"><strong>Article 10. Managing Business Logic, Not Hardware/Software Platforms </strong></span></p>
<p style="margin-left: 40px"><span style="font-size: small">10.1. Business rules are a vital business asset.</span></p>
<p style="margin-left: 40px"><span style="font-size: small">10.2. In the long run, rules are more important to the business than hardware/software platforms.</span></p>
<p style="margin-left: 40px"><span style="font-size: small">10.3. Business rules should be organized and stored in such a way that they can be readily redeployed to new hardware/software platforms.</span></p>
<p style="margin-left: 40px"><span style="font-size: small">10.4. Rules, and the ability to change them effectively, are fundamental to improving business adaptability.</span></p>
<p><span style="font-size: small"><i>*Version 2.0, November 1, 2003. Edited by Ronald G. Ross.</i></span></p>
<p style="text-align: center"><span style="font-size: small">Copyright, 2006–2009. Business Rules Group.</span></p>
<p><span style="font-size: small"><i>Permission is granted for unlimited reproduction and distribution of this document under the following conditions: (a) The copyright and this permission notice are clearly included. (b) The work is clearly credited to the Business Rules Group. (c) No part of the document, including title, content, copyright, and permission notice, is altered, abridged, or extended in any manner.</i><br />
&#160;</span></p>
</blockquote><hr width="650px" />
<p>&#160;</p></description> 
    <dc:creator>Adrian M.</dc:creator> 
    <pubDate>Fri, 27 Nov 2009 06:31:00 GMT</pubDate> 
    <guid isPermaLink="false">f1397696-738c-4295-afcd-943feb885714:1190</guid> 
    
</item>
<item>
    <comments>https://modernanalyst.com/Community/ModernAnalystBlog/tabid/181/ID/875/Why-I-Do-This.aspx#Comments</comments> 
    <slash:comments>0</slash:comments> 
    <wfw:commentRss>https://modernanalyst.com/DesktopModules/DnnForge%20-%20NewsArticles/RssComments.aspx?TabID=181&amp;ModuleID=870&amp;ArticleID=875</wfw:commentRss> 
    <trackback:ping>https://modernanalyst.com:443/DesktopModules/DnnForge%20-%20NewsArticles/Tracking/Trackback.aspx?ArticleID=875&amp;PortalID=0&amp;TabID=181</trackback:ping> 
    <title>Why I Do This</title> 
    <link>https://modernanalyst.com/Community/ModernAnalystBlog/tabid/181/ID/875/Why-I-Do-This.aspx</link> 
    <description>&lt;p&gt;&lt;span style=&quot;font-size: small&quot;&gt;&lt;img height=&quot;178&quot; hspace=&quot;10&quot; width=&quot;200&quot; align=&quot;left&quot; vspace=&quot;5&quot; border=&quot;0&quot; alt=&quot;&quot; src=&quot;/Portals/0/Public Uploads/howard1.jpg&quot; /&gt;I was at a talk yesterday by American artist Lawrence Weiner. He spent half the time saying there was nothing he had to say about his art; the next half saying it.&lt;span style=&quot;mso-spacerun: yes&quot;&gt;&amp;#160; &lt;/span&gt;I enjoyed it thoroughly.&lt;span style=&quot;mso-spacerun: yes&quot;&gt;&amp;#160; &lt;/span&gt;Something he had to say really stuck with me: that art is all about creating a logical structure for viewing the world.&lt;span style=&quot;mso-spacerun: yes&quot;&gt;&amp;#160; &lt;/span&gt;It helped me understand why I make my living doing two things that seem so disparate: visual art (painting) and Business Analysis.&lt;span style=&quot;mso-spacerun: yes&quot;&gt;&amp;#160; &lt;/span&gt;There are many things I love about BA but the part I have the most passion for is visual modeling.&lt;span style=&quot;mso-spacerun: yes&quot;&gt;&amp;#160; &lt;/span&gt;Perhaps it’s because of what Weiner pointed out: like art, it’s about creating a logical structure that communicates a way of seeing the world (or a part of it).&lt;span style=&quot;mso-spacerun: yes&quot;&gt;&amp;#160; &lt;/span&gt;The types of models I am most interested in are referred to as logical models: the name itself gives away the connection to Weiner’s art objects.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style=&quot;font-size: small&quot;&gt;I have never been much interested in the physical world – the world of gadgets and mechanical things; it’s always been the logical structures that underlie the real world (RW) that most interest me.&lt;span style=&quot;mso-spacerun: yes&quot;&gt;&amp;#160; &lt;/span&gt;What I love about logical visual modeling is that&lt;span style=&quot;mso-spacerun: yes&quot;&gt;&amp;#160;&lt;/span&gt;it strips away those pesky physical details to focus on logical structures.&lt;span style=&quot;mso-spacerun: yes&quot;&gt;&amp;#160; &lt;/span&gt;It turns out that this is a great boon to the BA.&lt;span style=&quot;mso-spacerun: yes&quot;&gt;&amp;#160; &lt;/span&gt;If we focus on physical details there is very little common language between a business person and a&lt;span style=&quot;mso-spacerun: yes&quot;&gt;&amp;#160; &lt;/span&gt;software developer. But if we talk model-talk (for example, using a visual language like the UML), well then we can have a nice discussion: we &lt;em&gt;get&lt;/em&gt; each other.&lt;span style=&quot;mso-spacerun: yes&quot;&gt;&amp;#160;&amp;#160; &lt;/span&gt;&lt;!--StartFragment--&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class=&quot;MsoNormal&quot;&gt;&lt;span style=&quot;font-size: small&quot;&gt;I’ve always been attracted to pursuits where you can get complex results but you only have to remember a few basic elements. Maybe it’s because I’ve always had a lousy memory. &amp;#160;As a developer, I was a&amp;#160;retro&amp;#160;fan of Assembler. I’ve never lost my fascination for how&lt;span style=&quot;mso-spacerun: yes&quot;&gt;&amp;#160;&lt;/span&gt;its small set of basic instructions could be used to construct the most complex systems.&lt;span style=&quot;mso-spacerun: yes&quot;&gt;&amp;#160; &lt;/span&gt;As a BA, I feel the same about the UML diagrams – especially class diagrams. Give me a few basic concepts modeling elements (generalization, association, ...) and I can model the most complex business system.&lt;span style=&quot;mso-spacerun: yes&quot;&gt;&amp;#160; &lt;/span&gt;How cool is that?&lt;span style=&quot;mso-spacerun: yes&quot;&gt;&amp;#160;&amp;#160;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class=&quot;MsoNormal&quot;&gt;&lt;strong&gt;&lt;span style=&quot;font-size: small&quot;&gt;Howard Podeswa&lt;/span&gt;&lt;/strong&gt;&lt;br /&gt;
&lt;span style=&quot;font-size: small&quot;&gt;&lt;span&gt;His most recent book, &lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;font-size: small&quot;&gt;&lt;a target=&quot;_blank&quot; href=&quot;http://www.amazon.com/Business-Analysts-Handbook-Howard-Podeswa/dp/1598635654/ref=pd_bbs_sr_1?ie=UTF8&amp;amp;s=books&amp;amp;qid=1236985266&amp;amp;sr=8-1&quot;&gt;&lt;span style=&quot;font-size: small&quot;&gt;The Business Analyst&#39;s Handbook &lt;/span&gt;&lt;/a&gt;&lt;/span&gt;&lt;span style=&quot;font-size: small&quot;&gt;&lt;span&gt;may be purchased on amazon.ca, &amp;#160;and amazon.com.&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;</description> 
    <dc:creator>Howard Podeswa</dc:creator> 
    <pubDate>Fri, 13 Mar 2009 22:12:00 GMT</pubDate> 
    <guid isPermaLink="false">f1397696-738c-4295-afcd-943feb885714:875</guid> 
    
</item>

    </channel>
</rss>